<template>
  <UploadExcel :on-success="onSuccess" />
</template>

<script>
import { importEmployee } from '@/api/employees'
export default {
  methods: {
    async onSuccess({ header, results }) {
      // 这个函数是上传完 excel 文件
      // 解析完毕的回调，得到一个结果数据对象
      // 里面有 header 是表头
      // results 每个用户对象组成的数组
      // console.log(header)
      // console.log(results)
      const userRelations = {
        '手机号': 'mobile',
        '姓名': 'username',
        '入职日期': 'timeOfEntry',
        '转正日期': 'correctionTime',
        '工号': 'workNumber'
      }
      const newResults = results.map(item => {
        const userInfo = {}
        for (const key in item) {
          const newKey = userRelations[key]
          const value = item[key]
          userInfo[newKey] = value
        }
        return userInfo
      })
      newResults.forEach(item => {
        item.timeOfEntry = this.formatExcelDate(item.timeOfEntry)
        item.correctionTime = this.formatExcelDate(item.correctionTime)
        return item
      })

      await importEmployee(newResults)
      this.$router.back()
      // console.log(newResults)
    },
    /**
     * 格式化excel传递的时间
     * @param numb 需转化的时间 43853
     * @param format 分隔符 "-"
     * @returns {string} 2020-1-22
     */
    formatExcelDate(numb, format = '-') {
    // 如果numb为空则返回空字符串
      if (!numb) {
        return ''
      }
      const time = new Date(new Date('1900-1-1').getTime() + (numb - 1) * 3600 * 24 * 1000)
      const year = time.getFullYear() + ''
      const month = time.getMonth() + 1 + ''
      const date = time.getDate()
      if (format && format.length === 1) {
        return year + format + (month < 10 ? '0' + month : month) + format + (date < 10 ? '0' + date : date)
      }
      return year + (month < 10 ? '0' + month : month) + (date < 10 ? '0' + date : date)
    }
  }
}
</script>

<style>

</style>
